package org.auth.type;

public enum RoleType {

	/**
	 * 超级管理员
	 */
	SUPER_ADMIN(0), 
	/**
	 * 管理员
	 */
	ADMIN(1), 
	/**
	 * 维修人员
	 */
	WX(2), 
	/**
	 * 普通APP用户
	 */
	NORMAL(3);
	
	/**
	 * 内部Code
	 */
	private long innerCode;
	
	/**
	 * 构造函数
	 * @param innerCode
	 */
	private RoleType(long innerCode) {
		this.innerCode = innerCode;
	}
	
	/**
	 * 取得内部Code
	 * 
	 * @return 内部Code
	 */
	public long getCode(){
		return innerCode;
	}
	
	/**
	 * 通过内部Code生成Enum
	 * @param innerCode 内部Code
	 * @return 角色类型
	 */
	public static RoleType getEnumByCode(long innerCode) {
		for (RoleType c : RoleType.values()) {
			if (c.getCode() == innerCode) {
				return c;
			}
		}
		return null;
	}
}
